Tutoriel SNMP

Ce didacticiel est un effort pour expliquer brièvement

Qu'est-ce qu’un SNMP ?

Le protocole SNMP (Simple Network Management Protocol) est un protocole de couche application défini par l’Internet Architecture Board (IAB) dans la RFC1157 pour l'échange d'informations de gestion entre les périphériques réseau. Il fait partie de la suite de protocoles TCP/IP (Transmission Control Protocol⁄Internet Protocol).

SNMP est l'un des protocoles largement acceptés pour gérer et analyser les éléments du réseau. La plupart des éléments de réseau de qualité professionnelle sont fournis avec un agent SNMP intégré. Ces agents doivent être activés et configurés pour communiquer avec le système de gestion de réseau (NMS).

Les composants de base du SNMP et leurs fonctionnalités

SNMP se compose de

Gestionnaire SNMP :

Un gestionnaire ou système de gestion est une entité distincte chargée de communiquer avec les périphériques réseau mis en œuvre par l'agent SNMP. Il s'agit généralement d'un ordinateur utilisé pour exécuter un ou plusieurs systèmes de gestion de réseau.

Fonctions clés du gestionnaire SNMP
  • Requête d’Agents
  • Obtenir les réponses des agents
  • Définir les variables dans les agents
  • Reconnaître les événements asynchrones des agents

Périphériques gérés:

Un périphérique géré ou l'élément de réseau est une partie du réseau qui nécessite une certaine forme d’analyse et de gestion, par exemple routeurs, commutateurs, serveurs, postes de travail, imprimantes, onduleurs, etc ...

Agent SNMP :

L'agent est un programme intégré à l'élément de réseau. L'activation de l'agent lui permet de collecter la base de données d'informations de gestion à partir du périphérique localement et la met à la disposition du gestionnaire SNMP, lorsqu'il est interrogé. Ces agents peuvent être standard (par exemple Net-SNMP) ou spécifiques à un fournisseur (par exemple, l'agent HP Insight)

  • Collecte des informations de gestion sur son environnement local
  • Stocke et récupère les informations de gestion telles que définies dans la MIB.
  • Signale un événement au gestionnaire.
  • Agit en tant que proxy pour certains nœuds de réseau non SNMP gérables.

 

Diagramme de communication SNMP de base
SNMP

Base de données d'informations de gestion ou Management Information Base (MIB)

Chaque agent SNMP gère une base de données d'informations décrivant les paramètres du périphérique géré. Le gestionnaire SNMP utilise cette base de données pour demander à l'agent des informations spécifiques et traduit les informations selon les besoins du système de gestion de réseau (NMS). Cette base de données communément partagée entre l'agent et le gestionnaire s'appelle Management Information Base (MIB).

En règle générale, ces MIB contiennent un ensemble standard de valeurs statistiques et de contrôle défini pour les nœuds matériels d'un réseau. SNMP permet également l'extension de ces valeurs standard avec des valeurs spécifiques à un agent particulier grâce à l'utilisation de MIB privées.

En bref, les fichiers MIB sont l'ensemble des questions qu'un gestionnaire SNMP peut poser à l'agent. L'agent collecte ces données localement et les stocke, comme défini dans la MIB. Ainsi, le gestionnaire SNMP doit être conscient de ces questions standard et privées pour chaque type d'agent.

 

Navigateur MIB SNMP et outil SNMP Walk

La suite d'outils gratuits de ManageEngine comprend un navigateur MIB SNMP qui aide à charger / décharger les MIB et à récupérer les données MIB des agents SNMP (v1, v2c, v3). Le navigateur SNMP MIB est un outil complet pour analyser les périphériques et serveurs compatibles SNMP. Vous pouvez charger, afficher plusieurs modules MIB et effectuer des opérations GET, GETNEXT et SET SNMP. Cet outil est facile à utiliser et vous permet d'afficher, de configurer et d'analyser les interruptions SNMP. Vous pouvez également effectuer des opérations SNMP à partir de périphériques Windows et Linux.

 

Structure MIB et identificateur d'objet (Object ID ou OID)

Management Information Base (MIB) est une collection d'informations pour la gestion des éléments de réseau. Les MIB comprennent des objets gérés identifiés par le nom Object Identifier (Object ID ou OID).

Chaque identifiant est unique et dénote les caractéristiques spécifiques d'un périphérique géré. Lorsque demandé, la valeur de retour de chaque identifiant peut être différente, par exemple Texte, numéro, compteur, etc ...

Il existe deux types d'objet géré ou d'ID d’objet : scalaire et tabulaire. Ils pourraient être mieux compris avec un exemple

Scalaire : nom du fournisseur de l'appareil, le résultat ne peut être qu'un. (Comme le dit la définition: "Un objet scalaire définit une seule instance d'objet")

Tabulaire : utilisation du processeur d'un processeur quadruple, cela me donnerait un résultat pour chaque processeur séparément, ce qui signifie qu'il y aura 4 résultats pour cet ID d'objet particulier. (Comme le dit la définition: "Un objet tabulaire définit plusieurs instances d'objet liées qui sont regroupées dans des tables MIB")

Chaque ID d'objet est organisé de manière hiérarchique dans le MIB. La hiérarchie MIB peut être représentée dans une arborescence avec un identificateur de variable individuel.

Un ID d'objet typique sera une liste en pointillés d'entiers. Par exemple, l'OID dans RFC1213 pour "sysDescr" est .1.3.6.1.2.1.1.1

 

Diagramme d'arbre MIB
SNMP c est quoi?
 

Commandes de base du SNMP

La simplicité de l'échange d'informations a fait du SNMP un protocole largement accepté. La raison principale étant un ensemble concis de commandes, les voici ci-dessous :

  • GET : l'opération GET est une demande envoyée par le gestionnaire au périphérique géré. Elle est effectuée pour récupérer une ou plusieurs valeurs du périphérique géré.
  • GET NEXT : Cette opération est similaire à GET. La différence significative est que l'opération GET NEXT récupère la valeur du prochain OID dans l'arborescence MIB.
  • GET BULK : l'opération GETBULK est utilisée pour récupérer des données volumineuses à partir d'une grande table MIB.
  • SET : Cette opération est utilisée par les gestionnaires pour modifier ou affecter la valeur du périphérique géré.
  • TRAPS : Contrairement aux commandes ci-dessus qui sont lancées à partir du gestionnaire SNMP, les TRAPS sont lancés par les agents. Il s'agit d'un signal adressé au gestionnaire SNMP par l'agent lors de la survenance d'un événement.
  • INFORM : Cette commande est similaire au TRAP initié par l'agent, INFORM comprend en outre une confirmation du gestionnaire SNMP à la réception du message.
  • RÉPONSE : Il s'agit de la commande utilisée pour récupérer la ou les valeurs ou le signal des actions dirigées par le gestionnaire SNMP.
 

Interruptions SNMP :

Les interruptions SNMP permettent à un agent d'informer le gestionnaire SNMP des événements significatifs par un message SNMP non sollicité. Les protocoles d'interruption SNMP incluent la valeur sysUpTime actuelle, un OID identifiant le type d'interruption et des liaisons de variables facultatives. L'adressage de destination pour les interruptions SNMP est déterminé d'une manière spécifique à l'application, généralement via des variables de configuration d'interruption dans la MIB. Le format du message d'interruption a été modifié dans SNMPv2 et les unités de données de protocole ont été renommées SNMPv2-Trap.

Communication typique du SNMP

Faisant partie de la suite de protocoles TCP⁄ IP, les messages SNMP sont encapsulés en tant que protocole UDP (User Datagram Protocol) et internes enveloppés et transmis dans le protocole Internet. Le diagramme suivant illustre le modèle à quatre couches développé par le ministère de la Défense (DoD).

SNMP Protocole

GET⁄ GET NEXT⁄ GET BULK⁄ SET

Protocole SNMP

 

TRAP

Port SNMP

 

INFORM

Qu'est-ce qu'un SNMP?

 

Par défaut, le port SNMP est 161 et TRAP⁄ INFORM utilise le port SNMP 162 pour la communication.
 

Versions du SNMP

Depuis sa création, SNMP a subi d'importantes mises à niveau. Cependant, le protocole SNMP v1 et v2c sont les versions les plus implémentées de SNMP. La prise en charge du protocole SNMP v3 a récemment commencé à rattraper son retard car il est plus sécurisé par rapport à ses anciennes versions, mais il n'a toujours pas atteint une part de marché considérable.

SNMPv1:

Il s'agit de la première version du protocole SNMP, qui est définie dans les RFC 1155 et 1157

SNMPv2c:

Il s'agit du protocole révisé, qui comprend des améliorations de SNMPv1 dans les domaines des types de paquets de protocole, des mappages de transport, des éléments de structure MIB mais en utilisant la structure d'administration SNMPv1 existante ("community based " et donc SNMPv2c). Il est défini dans RFC 1901, RFC 1905, RFC 1906, RFC 2578.

SNMPv3:

SNMPv3 définit la version sécurisée du SNMP. Le protocole SNMPv3 facilite également la configuration à distance des entités SNMP. Il est défini par RFC 1905, RFC 1906, RFC 3411, RFC 3412, RFC 3414, RFC 3415.

Bien que chaque version ait évolué vers de riches fonctionnalités, l'accent a été mis sur l'aspect sécurité de chaque mise à niveau. Voici un petit clip sur chaque aspect de sécurité des éditions.

SNMP v1 Community–based security
SNMP v2c Community–based security
SNMP v2u User–based security
SNMP v2 Party–based security
SNMP v3 User–based security

Autres liens utiles

  • Comment installer et configurer le périphérique Windows pour SNMP ?
  • Comment installer et configurer un périphérique Linux pour SNMP ?
  • Comment configurer les agents SNMP ?
  • How to configure SNMP Agents?
  • Comment traiter les interruptions SNMP ?
Points à considérer : ManageEngine OpManager prend en charge toutes les versions de SNMP. Vous pouvez analyser n'importe quel périphérique compatible SNMP pour gérer/contrôler ses performances et pour traiter les interruptions SNMP.